package com.stupidzhe.vbreview.service;

import com.stupidzhe.vbreview.bean.PageBean;
import com.stupidzhe.vbreview.bean.ResultBean;
import com.stupidzhe.vbreview.domain.Project;

import java.util.List;

public interface ProjectService {

    /**
     *
     * @param pageNum 页数
     * @param teacherId 用户编号
     * @param keyword 关键词
     * @return 作业信息
     */
    PageBean<Project> getProjectPage(Integer pageNum, Integer teacherId, String keyword);

    /**
     * 添加作业
     * @param projectName 作业名称
     * @param classification 类型
     * @param expression 介绍
     * @param demoLocation demo路径
     * @param docLocation 文档路径
     */
    ResultBean add(String projectName, Integer classification,
                   String expression, String demoLocation,
                   String docLocation, Integer upTimesMax, Integer teacherId);

    /**
     * 编辑作业名称
     * @param projectId 作业编号
     * @param projectName 作业名称
     * @return 执行结果
     */
    ResultBean editProject(Integer projectId, String projectName, String docLocation, String demoLocation, String expression, Integer teacherId, List<String> arr, String status, String upTimesMax) throws Exception;

    /**
     * 获取作业
     * @param projectId 作业编号
     */
    Project getProjectById(Integer projectId);

    Project getProjectWithTimesById(Integer projectId, Integer studentId);

    Object getProjectPageStudentCanSee(Integer pageNum, Integer classId, String keyword);
}
